# -*- coding: utf-8 -*-
# function： 轻量级 django 静态站点
# __author__ = 'yeslf'

import os

from django.conf import settings
from django.http import 	Http404
from django.shortcuts import render
from django.template import Template
from django.utils._os import safe_join

def get_page_or_404(name):
	"""作为一个模板内容返回或404错误返回"""
	try:
		file_path = safe_join(settings.SITE_PAGES_DIRECTORY, name)
		# 使用 safe_join 来将页面路径和模板文件名连接起来，
		# 并返回规范化的最终的绝对路径

	except ValueError:
		raise Http404('Value Page Not Foud')

	else:
		if not os.path.exists(file_path):
			raise Http404('os Page Not Foud')

	with open(file_path,'r') as f:
	# 打开每个文件并使用文件夹内容创建新的 Django 模板
		page = Template(f.read())

	return page

def page(request, slug='index'):
	"""渲染页面"""
	file_name = '{}.html'.format(slug)
	page = get_page_or_404(file_name)
	context = {
	'slug': slug,
	'page': page,

	}

	return render(request, 'page.html',context)
	# 将要修饰的 page 和slug 上下文传递给 page.html 布局模板
	



	
	